<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>宏任务与微任务嵌套时的输出</title>
</head>
<body>
    
</body>
<script>
    /*
        虽然任务的优先级是  主线程>微任务>宏任务  但是并不是一层不变的，我们要结合具体的代码来具体分析
            例如下面的例子的顺序就是 主线程宏任务微任务  原因是微任务嵌套在了宏任务里面 所以顺序发生了改变，我们应该具体问题具体分析
    */
    let promise = new Promise((resolve,reject)=>{  //第一个参数代表成功，第二个参数代表失败
        setTimeout(() => {
            resolve()  //  自己封装的promise  一定要resolve()了以后  .then()以后才会有东西
            console.log('我是宏任务')
        }, 0);
    })
    promise.then(()=>{
        console.log('我是微任务')
    })
    console.log('我是主线程')
</script>
</html>